Autentisering og autorisering

Autentisering å sjekke HVEM du er, autorisering er å sjekke HVA DU HAR TILGANG TIL. På systemer ITK forvalter gjøres autentisering av Kerberos og Samba og autorisering av ITKACL 2.

TL;DR (Hvordan fikse din utviklingsinsans)

  1. Fiks keytab
  2. Fiks Apache config
  3. Klapp deg selv på ryggen

Opprette Kerberos-keytab

Dersom det er en vhost som ikke har noe ITKACL fra før av må en keytab opprettes.

  1. ssh til voff som root
    samba-tool spn add HTTP/<subdomain>.samfundet.no cirkus$
    $-tegnet betyr at det er snakk om en maskinkonto
  2. kontroller at keytaben ble lagt til
    samba-tool spn list cirkus$
  3. Lag og kopier en .keytab fil til Cirkus
    samba-tool domain exportkeytab <subdomain>.keytab --principal=HTTP/<subdomain>.samfundet.no
    samba-tool domain exportkeytab <subdomain>.keytab --principal=HTTP/cirkus.samfundet.no
    scp <subdomain>.keytab root@cirkus:/etc/apache2/krb5/<subdomain>.keytab
    
  4. SSH deg over til Cirkus
    
    
  5. Endre eierskap av filen for å gjøre den leselig av Apache
    chown <bruker>:<gruppe> /etc/apache2/krb5/<subodmain>.keytab
    
    Se guiden til hvordan man skal utvikle din spesifikke insans for hvilken bruker og gruppe som skal ha tilgang til denne filen.

Legge til autentisering og autorisering for en Apache instans

TL;DR : Legg til dette i din Apache config:

       <Location />
               AuthType GSSAPI
               AuthName "<beskrivelse av instansen>"
               GssapiCredStore keytab:/etc/apache2/krb5/<subdomain>.keytab
               GssapiCredStore cache:MEMORY:user_ccache
               GssapiBasicAuth on
               GssapiAllowedMech krb5
               GssapiBasicAuthMech krb5
               GssapiNegotiateOnce On

               # Send brukere i Windows rett til basic auth, unntatt Firefox
               BrowserMatch Windows(?!.*Firefox) gssapi-no-negotiate

               Require itkacl <acl-sti>
       </Location>

Forklaring

Autoriseringen benytter seg av gssapi. Kildekode og dokumentasjon finnes her. Noen av linjene forklares under:

PAM (pam_itkacl)

PAM brukes til mye rart, men det mest aktuelle for vår del er nok å begrense tilgangen til å logge inn på bokser (så ikke f.eks. hvem som helst har tilgang til å logge inn på cirkus). Det er skrevet en begynnende PAM-modul; sleng følgende i f.eks. /etc/pam.d/common-account eller /etc/pam.d/ssh, alt ettersom:

account    required     pam_itkacl.so realm='/login/itk-workstations'

realm= er selvsagt påkrevd, og er ACL-stien du vil autentisere mot.

Lenker: Start, itkaclbruk

Epost: itk@samfundet.no | Telefon: 992 15 925 | Sist endret: 2022-10-16 15:02 | Revisjon: 3 (historie, blame) | Totalt: 1905 kB | Rediger